/**
 * Orienteering Sport Diary Copyright (C) 2009 OSDiary Team
 *
 * This file is part of Orienteering Sport Diary (OSDiary).
 *
 * OSDiary is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see http://www.gnu.org/licenses/.
 */

package org.actions;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Map;
import org.util.SportsmenDAO;
import org.util.Util;

/**
 *
 * @author George.Mavchun
 */
public class PasswordAction extends ActionSupport {
    private String oldpassword;
    private String password;
    private String repassword;
    private String email;
    
    public String change() {
        Map session = ActionContext.getContext().getSession();
        Integer id = (Integer) session.get("id");
        String oldPass = SportsmenDAO.getSportsmanProfile(id).password;
        oldpassword = Util.getMD5Hash(oldpassword);
        if (null != password && password.equals(repassword) && oldpassword.equals(oldPass)) {
            SportsmenDAO.changePassword(id, password);
        }
        session.remove("selectedPage");
        session.put("selectedPage", "repairPassword");
        return SUCCESS;
    }
    
    public String repair() {
        Map session = ActionContext.getContext().getSession();
        session.remove("selectedPage");
        session.put("selectedPage", "repairPassword");
        return "showRepairPage";
    }
    
    public String saveRepaired() {
//        String newpassword = Util.makeNewPass();
//        SportsmanProfile sp = SportsmenDAO.getSportsmanProfile(email);
//        if (null == sp || !Util.sendNewPass(email, sp.name, sp.surname, newpassword)) {
//            Logger.getLogger(PasswordAction.class.getName()).log(Level.WARNING, "Some problems while sending new password.");
//            //return ERROR;
// TODO: Error page
//        } else {
//            SportsmenDAO.changePassword(sp.id, newpassword);
//            Logger.getLogger(PasswordAction.class.getName()).log(Level.INFO, "New password successfully sent");
//        }
        Map session = ActionContext.getContext().getSession();
        session.remove("selectedPage");
        session.put("selectedPage", "repairPassword");
        return SUCCESS;
    }
    
    @Override
    public String execute() {   
        return SUCCESS;
    }

    public String getOldpassword() {
        return oldpassword;
    }

    public void setOldpassword(String oldpassword) {
        this.oldpassword = oldpassword;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRepassword() {
        return repassword;
    }

    public void setRepassword(String repassword) {
        this.repassword = repassword;
    }
    
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
